The Stanifesto

What we mean when we say "iterative"

This post was originally published on StayDiligent.com.

If you're trying to accomplish something big, it only makes sense to break it down into smaller parts. When Diligent says that we prefer to work iteratively, we're talking about something more specific than just working in phases.

Launch what you've got, when you've got it

It's not enough to plan out the project in three phases. When you're finished with the work of Phase 1, it's time to launch Phase 1. Ship it. Publish it. Promote it. Do whatever it takes to get it out the door and in front of people.

There are more than a couple reasons to launch as you go.

  • A launch creates momentum. It's a moment to celebrate, which is good for morale. It's also not a delay, which would be bad for morale. Chances are your team has put in a lot of time and energy to reach the finish line. Don't be that parent that swims away from their kid in the swimming pool while saying, "I'm right here, Stanley. Just a little farther! You can do it!" A delay does not typically create a better end product. It just… delays.
  • A launch forces you to make decisions. When you launch after each Phase, instead of waiting for everything to be complete, then each Phase has to make sense as a standalone product. That means deciding on priorities. You can't have everything in Phase 1, so what's the most important feature you're building? What creates the most good in the world? What can't you launch without? Getting clear about these priorities will be healthy not just for Phase 1, but for the life of the site.
  • A launch invites feedback. The brainstorms, sketches, wireframes, and prototypes you've done so far are full of hidden assumptions. User-testing can discover some of them, but there's nothing like real users operating in a non-clinical environment. Maybe that comment system you thought was "innovative" will drive people nuts. Maybe that animated rabbit logo you made as lark will drive social sharing through the roof. You never know. And because you never know…

Learn from your successes and failures

There's an understandable temptation, as you're planning a project that will take multiple people working for multiple months and require multiple dollars, to get everything written down ahead of time. Believe me, I get that. A good plan needs to be clear on the problem that is being solved, the scope of work that will be accomplished, and a sensible timeline.

What it shouldn't have—whether it's the RFP or the whiteboard at the kick-off meeting—is a master list of feature requirements. Features come and go fast on the web and best practices are still being formed. Today's "Must integrate with Pinterest" quickly becomes yesterday's "Must integrate with MySpace." And let's not forget those eighteen months in the mid '00s when everyone needed a Tag Cloud.

Instead, you should leave plenty of room in both the plan and in your own imagination, to adapt to the lessons you will inevitably learn from what you've already launched.

Here are some things to look out for:

  • Your visitors use features in an unexpected way. I was once a member of an online community that only let you send three message a month to strangers, but you could tag strangers and they could see who tagged them. People got tagged with valuable metadata like, "hey-sexy" and "omg-im-from-new-jersey-too".
  • Your visitors ignore features that take significant resources to maintain. When I worked at a non-profit, we'd fight every week over which campaign was featured in the homepage banner. When we finally looked at the traffic data, barely 2% of homepage visitors even clicked on that damn banner. We eventually replaced it with a static image that reinforced the overall brand of the organization and gave the campaigns constant representation in the sidebar.
  • Your visitors do a lot of searching. Logging your local search queries will show what your visitors want but can't find, revealing how your site has failed them. Maybe it's easy to fix, like your navigation labels say "Support" and people search for "Donate." Maybe it's harder, like your brand involves a clever metaphor (e.g. "BigShoesToFill.org — Leadership training for kids.") and people search for "shoes." Uh oh.
If any of these things happen to you, they're going to feel like a problem.

And, if you had waited until every phase was complete and launched all at one without any resources to learn from your visitors' feedback, they would be a huge problem.

But, since you launched each phase as it was ready and then stayed nimble and open to suggestions in subsequent phases, they're each a clear indication of immediate steps you can take to improve your site, increase the value you're providing to your visitors, and ultimately increase the impact of your organization.

Which is why Diligent prefers to work iteratively.